package cn.mw.cmdb.entity.cloudWisdom;

import cn.mw.cmdb.entity.PropertyTypeString;
import cn.mw.cmdb.entity.PropertyTypeSwitch;
import cn.mw.components.mongodb.anno.AutoId;
import cn.mw.components.mongodb.anno.CMDBProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.data.mongodb.core.mapping.Document;

@Data
@Document("mw_cmdbmd_cloud_wisdom_report_history_info")
@Schema(description = "云智慧实例上报历史")
public class CloudWisdomReportHistoryInfo {
    @CMDBProperty(searchType = PropertyTypeString.ID, searchPrefix = "_")
    @AutoId
    @Schema(description = "id")
    private String id;

    @Schema(description = "规则ID")
    @CMDBProperty(searchType = PropertyTypeString.ID)
    private String ruleId;

    @Schema(description = "上报通道ID")
    @CMDBProperty(searchType = PropertyTypeString.ID)
    private Integer channelId;

    @Schema(description = "上报通道")
    @CMDBProperty(searchType = PropertyTypeString.ID)
    private String channelName;

    @Schema(description = "上报规则")
    @CMDBProperty(searchType = PropertyTypeString.ID, keywordSearch = true)
    private String ruleName;

    @Schema(description = "上报时间")
    @CMDBProperty(searchType = PropertyTypeString.ID)
    private String reportDate;

    @Schema(description = "上报人")
    @CMDBProperty(searchType = PropertyTypeString.ID)
    private String reportBy;

    @Schema(description = "上报结果")
    @CMDBProperty(searchType = PropertyTypeString.ID)
    private String reportResult;

    @Schema(description = "成功数量")
    @CMDBProperty(searchType = PropertyTypeString.ID)
    private Integer successCount;

    @Schema(description = "失败数量")
    @CMDBProperty(searchType = PropertyTypeString.ID)
    private Integer failedCount;

    @CMDBProperty(logicDel = true, searchType = PropertyTypeSwitch.ID)
    protected Boolean delFlag = false;

}
